<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>single_nubot_gazebo: nubot::ParaTrajPlanning Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">single_nubot_gazebo
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacenubot.html">nubot</a></li><li class="navelem"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">ParaTrajPlanning</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classnubot_1_1ParaTrajPlanning-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">nubot::ParaTrajPlanning Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>trajectory planning for parabolic curve transition. The trajectory consists of 3 part: two parabolic curve in the beginning and in the end; a straight line in the middle. This trajectory avoids the infinite acceleration at the beginning and at the end if just sepcify straight line trajectory  
 <a href="classnubot_1_1ParaTrajPlanning.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="parabolic__transition__planning_8hh_source.html">parabolic_transition_planning.hh</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3c1db421a53e6334d1b0e15cfff45178"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a3c1db421a53e6334d1b0e15cfff45178">ParaTrajPlanning</a> (double _accel=0.0, double _max_vel=0.0, double _distance=0.0)</td></tr>
<tr class="memdesc:a3c1db421a53e6334d1b0e15cfff45178"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. Initialize para_traj_planning params.  <a href="#a3c1db421a53e6334d1b0e15cfff45178">More...</a><br/></td></tr>
<tr class="separator:a3c1db421a53e6334d1b0e15cfff45178"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97765b4d8129ec890a9fb0995a5cb502"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a97765b4d8129ec890a9fb0995a5cb502">~ParaTrajPlanning</a> ()</td></tr>
<tr class="memdesc:a97765b4d8129ec890a9fb0995a5cb502"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a97765b4d8129ec890a9fb0995a5cb502">More...</a><br/></td></tr>
<tr class="separator:a97765b4d8129ec890a9fb0995a5cb502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74f176e639b14c71981c4a722e27bdae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a74f176e639b14c71981c4a722e27bdae">Init</a> (double _accel=0.0, double _max_vel=0.0, double _distance=0.0)</td></tr>
<tr class="memdesc:a74f176e639b14c71981c4a722e27bdae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize para_traj_planning params.  <a href="#a74f176e639b14c71981c4a722e27bdae">More...</a><br/></td></tr>
<tr class="separator:a74f176e639b14c71981c4a722e27bdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d4233ee5f2fff3a4456b4cf978cdb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#aa9d4233ee5f2fff3a4456b4cf978cdb2">SetAccel</a> (double _accel)</td></tr>
<tr class="memdesc:aa9d4233ee5f2fff3a4456b4cf978cdb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the constant acceleration for the parabolic curve.  <a href="#aa9d4233ee5f2fff3a4456b4cf978cdb2">More...</a><br/></td></tr>
<tr class="separator:aa9d4233ee5f2fff3a4456b4cf978cdb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63bc25bfafec6e6f14d32fbbc5bff49b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a63bc25bfafec6e6f14d32fbbc5bff49b">SetDistance</a> (double _distance)</td></tr>
<tr class="memdesc:a63bc25bfafec6e6f14d32fbbc5bff49b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set distance about to travel.  <a href="#a63bc25bfafec6e6f14d32fbbc5bff49b">More...</a><br/></td></tr>
<tr class="separator:a63bc25bfafec6e6f14d32fbbc5bff49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9a32cc1269869348c8b60d294a19f61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#af9a32cc1269869348c8b60d294a19f61">SetMaxVel</a> (double _vel)</td></tr>
<tr class="memdesc:af9a32cc1269869348c8b60d294a19f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum velocity.  <a href="#af9a32cc1269869348c8b60d294a19f61">More...</a><br/></td></tr>
<tr class="separator:af9a32cc1269869348c8b60d294a19f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d435d152a9598331b8f42f26e862a6"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#af6d435d152a9598331b8f42f26e862a6">GetAccel</a> () const </td></tr>
<tr class="memdesc:af6d435d152a9598331b8f42f26e862a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the constant acceleration.  <a href="#af6d435d152a9598331b8f42f26e862a6">More...</a><br/></td></tr>
<tr class="separator:af6d435d152a9598331b8f42f26e862a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98156410db22d0048f638162b4403c9f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a98156410db22d0048f638162b4403c9f">GetDistance</a> () const </td></tr>
<tr class="memdesc:a98156410db22d0048f638162b4403c9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get distance about to travel.  <a href="#a98156410db22d0048f638162b4403c9f">More...</a><br/></td></tr>
<tr class="separator:a98156410db22d0048f638162b4403c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60026b9eba695f86b863698c3d33f43f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a60026b9eba695f86b863698c3d33f43f">GetMaxVel</a> () const </td></tr>
<tr class="memdesc:a60026b9eba695f86b863698c3d33f43f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum velocity or the velocity of the straight line part.  <a href="#a60026b9eba695f86b863698c3d33f43f">More...</a><br/></td></tr>
<tr class="separator:a60026b9eba695f86b863698c3d33f43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a4b6ed645ce4640aba3a7611a6c1c8a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a3a4b6ed645ce4640aba3a7611a6c1c8a">VelUpdate</a> (double _dt)</td></tr>
<tr class="memdesc:a3a4b6ed645ce4640aba3a7611a6c1c8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get velocity of the trajectory.  <a href="#a3a4b6ed645ce4640aba3a7611a6c1c8a">More...</a><br/></td></tr>
<tr class="separator:a3a4b6ed645ce4640aba3a7611a6c1c8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b2627faba381d49489c161971a1929"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#ae2b2627faba381d49489c161971a1929">DispUpdate</a> (double _dt)</td></tr>
<tr class="memdesc:ae2b2627faba381d49489c161971a1929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get displacement of the trajectory.  <a href="#ae2b2627faba381d49489c161971a1929">More...</a><br/></td></tr>
<tr class="separator:ae2b2627faba381d49489c161971a1929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ca97603d3b9eb66bd6ce010c51e467"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">ParaTrajPlanning</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a85ca97603d3b9eb66bd6ce010c51e467">operator=</a> (const <a class="el" href="classnubot_1_1ParaTrajPlanning.html">ParaTrajPlanning</a> &amp;_p)</td></tr>
<tr class="memdesc:a85ca97603d3b9eb66bd6ce010c51e467"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#a85ca97603d3b9eb66bd6ce010c51e467">More...</a><br/></td></tr>
<tr class="separator:a85ca97603d3b9eb66bd6ce010c51e467"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afebeebbaf531a808175168e09c33d0f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#afebeebbaf531a808175168e09c33d0f1">Reset</a> ()</td></tr>
<tr class="memdesc:afebeebbaf531a808175168e09c33d0f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset all the params, output_vel_ and output_disp_;.  <a href="#afebeebbaf531a808175168e09c33d0f1">More...</a><br/></td></tr>
<tr class="separator:afebeebbaf531a808175168e09c33d0f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aead29a555fdbaaa222a0d2366cdfa468"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#aead29a555fdbaaa222a0d2366cdfa468">a_</a></td></tr>
<tr class="memdesc:aead29a555fdbaaa222a0d2366cdfa468"><td class="mdescLeft">&#160;</td><td class="mdescRight">constant acceleration of the parabolic curve.  <a href="#aead29a555fdbaaa222a0d2366cdfa468">More...</a><br/></td></tr>
<tr class="separator:aead29a555fdbaaa222a0d2366cdfa468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9194b95798860fc68350949e76c1728"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#ad9194b95798860fc68350949e76c1728">dis_</a></td></tr>
<tr class="memdesc:ad9194b95798860fc68350949e76c1728"><td class="mdescLeft">&#160;</td><td class="mdescRight">total distance to travel  <a href="#ad9194b95798860fc68350949e76c1728">More...</a><br/></td></tr>
<tr class="separator:ad9194b95798860fc68350949e76c1728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e9c2b471fb2815ec3f285bdc2c8caf3"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a6e9c2b471fb2815ec3f285bdc2c8caf3">vm_</a></td></tr>
<tr class="memdesc:a6e9c2b471fb2815ec3f285bdc2c8caf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum velocity; the const velocity of the stragight line trajectory  <a href="#a6e9c2b471fb2815ec3f285bdc2c8caf3">More...</a><br/></td></tr>
<tr class="separator:a6e9c2b471fb2815ec3f285bdc2c8caf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6272703f788bdb99fd53ff8d9ee1b2a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#af6272703f788bdb99fd53ff8d9ee1b2a">t_</a></td></tr>
<tr class="memdesc:af6272703f788bdb99fd53ff8d9ee1b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">total time starting from 0  <a href="#af6272703f788bdb99fd53ff8d9ee1b2a">More...</a><br/></td></tr>
<tr class="separator:af6272703f788bdb99fd53ff8d9ee1b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fccc5e03134a9d4b796561ffb93c19c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a5fccc5e03134a9d4b796561ffb93c19c">out_vel_</a></td></tr>
<tr class="memdesc:a5fccc5e03134a9d4b796561ffb93c19c"><td class="mdescLeft">&#160;</td><td class="mdescRight">output velocity of the trajectory  <a href="#a5fccc5e03134a9d4b796561ffb93c19c">More...</a><br/></td></tr>
<tr class="separator:a5fccc5e03134a9d4b796561ffb93c19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d262f02f46b3897de76310c50c082c0"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a7d262f02f46b3897de76310c50c082c0">out_disp_</a></td></tr>
<tr class="memdesc:a7d262f02f46b3897de76310c50c082c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">output displacement of the trajectory  <a href="#a7d262f02f46b3897de76310c50c082c0">More...</a><br/></td></tr>
<tr class="separator:a7d262f02f46b3897de76310c50c082c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b81e7bb35fc05ad45084afcfe3a3b66"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a2b81e7bb35fc05ad45084afcfe3a3b66">tb_</a></td></tr>
<tr class="memdesc:a2b81e7bb35fc05ad45084afcfe3a3b66"><td class="mdescLeft">&#160;</td><td class="mdescRight">end time of the first parabolic curve  <a href="#a2b81e7bb35fc05ad45084afcfe3a3b66">More...</a><br/></td></tr>
<tr class="separator:a2b81e7bb35fc05ad45084afcfe3a3b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f42b2fcaea2637f3bbe14fd6e50dff4"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a6f42b2fcaea2637f3bbe14fd6e50dff4">tf_</a></td></tr>
<tr class="memdesc:a6f42b2fcaea2637f3bbe14fd6e50dff4"><td class="mdescLeft">&#160;</td><td class="mdescRight">end time of the trajectory  <a href="#a6f42b2fcaea2637f3bbe14fd6e50dff4">More...</a><br/></td></tr>
<tr class="separator:a6f42b2fcaea2637f3bbe14fd6e50dff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a03e2c86a799f827aef25d1d928910e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnubot_1_1ParaTrajPlanning.html#a3a03e2c86a799f827aef25d1d928910e">is_straight_line_</a></td></tr>
<tr class="memdesc:a3a03e2c86a799f827aef25d1d928910e"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag to indicate if there is a straight line part  <a href="#a3a03e2c86a799f827aef25d1d928910e">More...</a><br/></td></tr>
<tr class="separator:a3a03e2c86a799f827aef25d1d928910e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>trajectory planning for parabolic curve transition. The trajectory consists of 3 part: two parabolic curve in the beginning and in the end; a straight line in the middle. This trajectory avoids the infinite acceleration at the beginning and at the end if just sepcify straight line trajectory </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3c1db421a53e6334d1b0e15cfff45178"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ParaTrajPlanning::ParaTrajPlanning </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_accel</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_max_vel</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_distance</em> = <code>0.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. Initialize para_traj_planning params. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_accel</td><td>The acceleration. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">_distance</td><td>The total distance to travel. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">_max_vel</td><td>The maximum velocity. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a97765b4d8129ec890a9fb0995a5cb502"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ParaTrajPlanning::~ParaTrajPlanning </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae2b2627faba381d49489c161971a1929"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ParaTrajPlanning::DispUpdate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_dt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get displacement of the trajectory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_dt</td><td>Change in time since last update call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the displacemet </dd></dl>

</div>
</div>
<a class="anchor" id="af6d435d152a9598331b8f42f26e862a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ParaTrajPlanning::GetAccel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the constant acceleration. </p>
<dl class="section return"><dt>Returns</dt><dd>The constant acceleration </dd></dl>

</div>
</div>
<a class="anchor" id="a98156410db22d0048f638162b4403c9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ParaTrajPlanning::GetDistance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get distance about to travel. </p>
<dl class="section return"><dt>Returns</dt><dd>The distance </dd></dl>

</div>
</div>
<a class="anchor" id="a60026b9eba695f86b863698c3d33f43f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ParaTrajPlanning::GetMaxVel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the maximum velocity or the velocity of the straight line part. </p>
<dl class="section return"><dt>Returns</dt><dd>The maximum velocity </dd></dl>

</div>
</div>
<a class="anchor" id="a74f176e639b14c71981c4a722e27bdae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParaTrajPlanning::Init </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_accel</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_max_vel</em> = <code>0.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_distance</em> = <code>0.0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize para_traj_planning params. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_accel</td><td>The acceleration. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">_distance</td><td>The total distance to travel. If _distance is negative, it will changed to positive in this function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">_max_vel</td><td>The maximum velocity. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a85ca97603d3b9eb66bd6ce010c51e467"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classnubot_1_1ParaTrajPlanning.html">ParaTrajPlanning</a>&amp; nubot::ParaTrajPlanning::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classnubot_1_1ParaTrajPlanning.html">ParaTrajPlanning</a> &amp;&#160;</td>
          <td class="paramname"><em>_p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assignment operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_p</td><td>a reference to a para_traj_plannining to assign values from </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to this instance </dd></dl>

</div>
</div>
<a class="anchor" id="afebeebbaf531a808175168e09c33d0f1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParaTrajPlanning::Reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset all the params, output_vel_ and output_disp_;. </p>

</div>
</div>
<a class="anchor" id="aa9d4233ee5f2fff3a4456b4cf978cdb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParaTrajPlanning::SetAccel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_accel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the constant acceleration for the parabolic curve. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_accel</td><td>the acceleration. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a63bc25bfafec6e6f14d32fbbc5bff49b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParaTrajPlanning::SetDistance </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_distance</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set distance about to travel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_distance</td><td>the distance </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af9a32cc1269869348c8b60d294a19f61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ParaTrajPlanning::SetMaxVel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_vel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the maximum velocity. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">_vel</td><td>the velocity </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3a4b6ed645ce4640aba3a7611a6c1c8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double ParaTrajPlanning::VelUpdate </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>_dt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get velocity of the trajectory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">_in]</td><td>_dt Change in time since last update call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the velocity </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="aead29a555fdbaaa222a0d2366cdfa468"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::a_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>constant acceleration of the parabolic curve. </p>

</div>
</div>
<a class="anchor" id="ad9194b95798860fc68350949e76c1728"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::dis_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>total distance to travel </p>

</div>
</div>
<a class="anchor" id="a3a03e2c86a799f827aef25d1d928910e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool nubot::ParaTrajPlanning::is_straight_line_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>flag to indicate if there is a straight line part </p>

</div>
</div>
<a class="anchor" id="a7d262f02f46b3897de76310c50c082c0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::out_disp_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>output displacement of the trajectory </p>

</div>
</div>
<a class="anchor" id="a5fccc5e03134a9d4b796561ffb93c19c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::out_vel_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>output velocity of the trajectory </p>

</div>
</div>
<a class="anchor" id="af6272703f788bdb99fd53ff8d9ee1b2a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::t_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>total time starting from 0 </p>

</div>
</div>
<a class="anchor" id="a2b81e7bb35fc05ad45084afcfe3a3b66"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::tb_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>end time of the first parabolic curve </p>

</div>
</div>
<a class="anchor" id="a6f42b2fcaea2637f3bbe14fd6e50dff4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::tf_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>end time of the trajectory </p>

</div>
</div>
<a class="anchor" id="a6e9c2b471fb2815ec3f285bdc2c8caf3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double nubot::ParaTrajPlanning::vm_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>maximum velocity; the const velocity of the stragight line trajectory </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/nubot_simulation/nubot_gazebo/plugins/<a class="el" href="parabolic__transition__planning_8hh_source.html">parabolic_transition_planning.hh</a></li>
<li>src/nubot_simulation/nubot_gazebo/plugins/<a class="el" href="parabolic__transition__planning_8cc.html">parabolic_transition_planning.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Jul 30 2016 00:26:42 for single_nubot_gazebo by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
